home *** CD-ROM | disk | FTP | other *** search
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <winb.h>
- #include <te.h>
- #include <fntb.h>
- #include <gui.h>
-
- #include "art.h"
- #include "screen.h"
- #include "pic.h"
- #include "imagewin.h"
- #include "guisub.h"
- #include "alert.h"
- #include "desktop.h"
-
- int idAllScrWin = -1 ;
-
- static SCRBITMAP bmDisp = NULL;
- static IMWIN* win = NULL;
-
- /* initDataZALLSCR:idAllScrWin:MJ_WINDOWL40の呼び出し関数 */
- int AllScrWinProc(kobj, messId, argc, pev, trigger)
- int kobj ;
- int messId ;
- int argc ;
- EVENT *pev ;
- int trigger ;
- {
- if (messId == MM_SHOW)
- {
- FRAME fr; RM_getWinUserFrame(kobj, &fr);
- BEGINPAINT(kobj)
- scrbitmap_draw(bmDisp,fr.X,fr.Y);
- ENDPAINT
- }
- else if (messId == MM_MOUSEON)
- {
- MMI_SetHaltFlag(TRUE);
- }
- return NOERR ;
- }
-
- int cmd_viewAllScr(void)
- {
- win = imagewin_getCurrentWin();
- if (win == NULL)
- return NOERR;
- int scrwid,scrht;
- RM_getScreenSize(&scrwid,&scrht);
- if ((bmDisp = scrbitmap_new(scrwid,scrht)) == NULL)
- {
- dispAlertMessage("全体表示","画像を全画面に表示するのに必要な"
- "メモリが不足しています。不要ウィンドウをクローズしてみて"
- "ください");
- return NOERR;
- }
- FRAME frDisp = {0,0,win->pic->wid,win->pic->ht};
- int dx = _max(0,(scrwid - win->pic->wid) / 2);
- int dy = _max(0,(scrht - win->pic->ht) / 2);
- pic_getScrBitMap(win->pic, bmDisp, dx,dy, &frDisp, 1);
- FRAME fr = {0,0,scrwid-1,scrht-1};
- RM_setFrame(idAllScrWin, &fr);
- FRAME frAdj = {0,0,-1,-1};
- RM_adjustWinUser(idAllScrWin, &frAdj);
- EXECDIALOG(idAllScrWin);
- scrbitmap_delete(bmDisp);
- return NOERR;
- }
-
-